/*
 * Tencent is pleased to support the open source community by making 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
 * Copyright (C) 2017-2019 THL A29 Limited, a Tencent company. All rights reserved.
 * Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * http://opensource.org/licenses/MIT
 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
 * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 *
 */

package com.tencent.devops.project.resources

import com.tencent.devops.common.web.RestResource
import com.tencent.devops.project.api.UserProjectUserResource
import com.tencent.devops.project.pojo.Result
import com.tencent.devops.project.pojo.user.ProjectUser
import com.tencent.devops.project.pojo.user.UserDeptDetail
import com.tencent.devops.project.service.external.UserService
import com.tencent.devops.project.service.tof.TOFService
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.beans.factory.annotation.Value

@RestResource
class UserProjectUserResourceImpl @Autowired constructor(
    private val tofService: TOFService,
    private val userService: UserService
) : UserProjectUserResource {
    @Value("\${bk_login.outurl}")
    lateinit var bkUrl: String

    override fun get(bk_token: String): Result<ProjectUser> {

        val staff = userService.getStaffInfo(bk_token)
        return Result(
            ProjectUser(
                staff.chinese_name,
                "$bkUrl/static/img/getheadimg.jpg",
                staff.username
            )
        )
    }

    override fun getDetail(bk_token: String): Result<UserDeptDetail> {
        return Result(tofService.getUserDeptDetail(bk_token))
    }
}